/**
 * @file main.c
 * @brief 冰淇淋机主程序
 */
#include "ice_cream_process.h"
#include "ice_cream_control.h"
#include <stdio.h>

// 示例配置参数
static void configure_production_params(ProductionConfig* config) {
    // 取杯和取餐位置
    config->cup_drop_pos.x_pos = 100;
    config->cup_drop_pos.z_pos = 50;
    config->dispense_pos.x_pos = 800;
    config->dispense_pos.z_pos = 70;
    
    // 奶浆参数
    config->milk.fill_pos.x_pos = 300;
    config->milk.fill_pos.z_pos = 60;
    config->milk.fill_time_ms = 3000;      // 3秒
    config->milk.complete_delay_ms = 1000; // 1秒
    
    // 果酱参数（2种）
    config->jam_count = 2;
    
    config->jams[0].type = 1;
    config->jams[0].add_pos.x_pos = 400;
    config->jams[0].add_pos.z_pos = 55;
    config->jams[0].add_time_ms = 1000;    // 1秒
    config->jams[0].complete_delay_ms = 500;
    
    config->jams[1].type = 2;
    config->jams[1].add_pos.x_pos = 450;
    config->jams[1].add_pos.z_pos = 55;
    config->jams[1].add_time_ms = 1500;    // 1.5秒
    config->jams[1].complete_delay_ms = 500;

    config->jams[2].type =3;
    config->jams[2].add_pos.x_pos = 500;
    config->jams[2].add_pos.z_pos = 55;
    config->jams[2].add_time_ms = 1500;    // 1.5秒
    config->jams[2].complete_delay_ms = 500;
    
    // 顶料参数（1种）
    config->topping_count =3;
    
    config->toppings[0].type = 1;
    config->toppings[0].add_pos.x_pos = 600;
    config->toppings[0].add_pos.z_pos = 50;
    config->toppings[0].add_time_ms = 800; // 0.8秒
    config->toppings[0].complete_delay_ms = 500;

    config->toppings[1].type =2 ;
    config->toppings[1].add_pos.x_pos = 650;
    config->toppings[1].add_pos.z_pos = 50;
    config->toppings[1].add_time_ms = 800; // 0.8秒
    config->toppings[1].complete_delay_ms = 500;

    config->toppings[2].type =2 ;
    config->toppings[2].add_pos.x_pos = 700;
    config->toppings[2].add_pos.z_pos = 50;
    config->toppings[2].add_time_ms = 800; // 0.8秒
    config->toppings[2].complete_delay_ms = 500;
}

int ice_cream_config_init(void) {
    // 系统初始化
 
    // 配置制作参数
    ProductionConfig prod_config;
    configure_production_params(&prod_config);
    ice_cream_set_config(&prod_config);
    
   return 0;
}
    